
import  json


'''print dict'''
def print_dict(jsonstr, keyonly=True) :
    if (isinstance(jsonstr, dict)) :
        for (d, x) in jsonstr.items():
            print('-' * 50)
            if (keyonly) :
                print(d)
            else :
                print(d + ":" + str(x))
    else:
        print("wrong type = ", type(dict))

def print_list(listStr):
    if (isinstance(listStr, list)):
        for jsonObj in listStr:
            print(jsonObj)
        print("list.len = ", len(listStr))
    else:
        print("wrong type = ", type(dict))


#定义一个函数，用来处理json，传入json1对象，层深初始为0，对其进行遍历
def hJson(json1,i=0):

    #判断传入的是否是json对象，不是json对象就返回异常
    if(isinstance(json1,dict)):
        #遍历json1对象里边的每个元素
        for item in json1:
            #如果item对应的value还是json对象，就调用这个函数进行递归，并且层深i加1，如果不是，直接z在else处进行打印
            if (isinstance(json1[item],dict)):
                #打印item和其对应的value
                print("****"*i+"%s : %s"%(item,json1[item]))

                #调用函数进行递归，i加1
                hJson(json1[item],i=i+1)
            else:
                #打印
                print("****"*i+"%s : %s"%(item,json1[item]))
                #程序入口，对adict进行处理，第二个参数可以不传

    else :
        print("json1  is not json object!")